package com.zdpx.pxframework.system.api.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * 操作日志表 实体对象
 *
 * @Description:
 * @Author: Cheng Xiaoxiao
 * @Date: 2022-05-24 13:27:18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("OPERATE_LOG")
@ApiModel(value = "OperateLog对象", description = "操作日志表")
public class OperateLog implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "ID")
    private String id;

    @ApiModelProperty(value = "模块名")
    @TableField("MODULE_NAME")
    private String moduleName;

    @ApiModelProperty(value = "操作标题")
    @TableField("TITLE")
    private String title;

    @ApiModelProperty(value = "日志状态（0失败 1成功）")
    @TableField("STATUS")
    private Integer status;

    @ApiModelProperty(value = "操作类型（1查询 2新增 3修改 4删除 5导出 6 导入 0 其他）")
    @TableField("TYPE")
    private Integer type;

    @ApiModelProperty(value = "操作用户ID")
    @TableField(value = "CREATOR", fill = FieldFill.INSERT)
    private String creator;

    @ApiModelProperty(value = "浏览器代理字符串")
    @TableField("USER_AGENT")
    private String userAgent;

    @ApiModelProperty(value = "ip地址")
    @TableField("IP")
    private String ip;

    @ApiModelProperty(value = "浏览器")
    @TableField("BROWSER")
    private String browser;

    @ApiModelProperty(value = "操作系统")
    @TableField("OPERATE_SYSTEM")
    private String operateSystem;

    @ApiModelProperty(value = "请求地址")
    @TableField("REQUEST_URI")
    private String requestUri;

    @ApiModelProperty(value = "请求方式")
    @TableField("REQUEST_METHOD")
    private String requestMethod;

    @ApiModelProperty(value = "请求参数")
    @TableField("REQUEST_ARGS")
    private String requestArgs;

    @ApiModelProperty(value = "JAVA调用方法")
    @TableField("JAVA_METHOD")
    private String javaMethod;

    @ApiModelProperty(value = "JAVA调用参数")
    @TableField("JAVA_METHOD_ARGS")
    private String javaMethodArgs;

    @ApiModelProperty(value = "结果状态码")
    @TableField("RESULT_CODE")
    private String resultCode;

    @ApiModelProperty(value = "结果数据")
    @TableField("RESULT_DATA")
    private String resultData;

    @ApiModelProperty(value = "结果提示信息")
    @TableField("RESULT_MSG")
    private String resultMsg;

    @ApiModelProperty(value = "创建时间")
    @TableField(value = "CREATE_TIME", fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "请求耗时（单位ms）")
    @TableField("USE_TIME")
    private Integer useTime;

    @ApiModelProperty(value = "异常信息")
    @TableField("EXCEPTION")
    private String exception;


}
